package flst.ipiweb.persistance.dao;

import java.util.List;

import flst.ipiweb.transverse.Commande;
import flst.ipiweb.transverse.IPIException;
import flst.ipiweb.transverse.LigneCommande;

public interface ICommandeDao {

	/**
	 * Cette méthode permet de créer une commande en base
	 * @param commande : la commande à créer
	 * @return Commande : la commande mise à jour
	 */
	public Commande createCommande(Commande commande);
	
	/**
	 * Cette méthode permet de mettre à jour une commande en base
	 * @param commande : la commande à mettre à jour
	 * @return Commande : la commande mise à jour
	 */
	public void updateCommandeStatus(Commande commande) throws IPIException;
	
	/**
	 * Cette méthode permet de rechercher une commande en base grâce à son numéro de commande
	 * @param numCommande : le numéro de commande de la commande recherchée
	 * @return Commande: la commande trouvée
	 */
	public Commande RechercheCommande(String numCommande) throws IPIException;
	
	/**
	 * Cette méthode permet de lister les produits d'une commande
	 * @param idCommande
	 * @return une liste de ligne de commande
	 */
	public List<LigneCommande> getAllLigneCommande(int idCommande);
	
}
